# -*- coding: utf-8 -*-
import jsonfrom apolloCommon import mysqlPoolfrom legendaryPowerScript.syncinv.savedExtraData import SaveHandler, SavedDbclass SavedDbManager:
    def registerLoader(self, name, onLoad, onSave, onDelete):
        # type: (str, callable, callable, callable) -> None
        """
        注册存档载入监听。
        三个回调分别会在玩家载入、存档、退出时执行。（特定事件下或定时存档会只执行onSave）
        注意：玩家退出时会依次执行onSave和onDelete。

        Args:
            name (str): 插件名，同时也是数据库的column名。只能由英文数字下划线组成
            onLoad (callable): 玩家登录时执行的回调，包含一个SavedDb参数，其中的savedData属性包含了其存档数据
            onSave (callable): 玩家存档时执行的回调，包含一个SavedDb参数，请将玩家存档数据写入到其savedData属性中
            onDelete (callable): 玩家退出时执行的回调，包含一个uid参数，请在此回调中完成玩家在线数据的清理回收
        """
        pass

